// import fetch from 'isomorphic-fetch'

import 'whatwg-fetch';
import * as types from './ActionTypes';
import 'es6-promise';
/**
 * get请求
 * @param  {String} options.url   api地址
 * @param  {String} options.query query参数
 * @return {Promise}               Promise
 */
const _get = ({ url, query },dispatch) => {
  dispatch({type:types.START_LOADING})
  let _url
  if (query) {
    _url = `http://rap.taobao.org/mockjsdata/12185${url}?${query}`
  } else {
    _url = `http://rap.taobao.org/mockjsdata/12185${url}`
  }
  return fetch(_url)
    .then(res => {
      dispatch({type:types.FINISH_LOADING})
      if (res.status >= 200 && res.status < 300) {
        return res.json()
      }
      return Promise.reject(new Error(res.status));
    })
}
/**
 * 获取首页信息
 * @param  {Function} options.dispatch store对象解构出来的函数，无需手动提供
 * @param  {Number} page             页数
 * @param  {Number} count             每页数量
 * @return {Promise}                  Promise
 */
 export const index_data = (page,count) => {
  const url = '/index';
  // const query = `count=${count}&page=${page}&_t=`+new Date().getTime()
  // return (dispatch) =>{
  //   $.ajax({
  //     url:'http://rap.taobao.org/mockjsdata/12185/index',
  //     type:'GET',
  //     beforeSend:function(){
  //       dispatch({type:types.START_LOADING});
  //     },
  //     success:function(json){
  //       if(json.status === 'ok'){
  //         dispatch({type:types.FETCH_INDEX_DATA, index_data:json})
  //       }
  //     },
  //     error:function(error){
  //       alert('error____:' + error);
  //     },
  //     complete:function(){
  //       dispatch({type:types.FINISH_LOADING})
  //     }
  //   })
  // }
  return (dispatch) =>{
    _get({url},dispatch)
      .then((json) => {
        if(json.status === 'ok'){
          dispatch({type:types.FETCH_INDEX_DATA, index_data:json})
        }
        // return Promise.reject(new Error('fetch fail'))
      })
      .catch((error) => {
        // dispatch({type:types.FETCH_COMING_SOON_FAIL})
        return Promise.reject(error)
      })
  }
}

/**
 *   them_hos_data
 * @param  {Function} options.dispatch store对象解构出来的函数，无需手动提供
 * @param  {Number} page             页数
 * @param  {Number} count             每页数量
 * @return {Promise}                  Promise
 */
 export const them_hos_data = (page,count) => {
  const url = '/hospital';
  // const query = `count=${count}&page=${page}&_t=`+new Date().getTime()
  // return (dispatch) =>{
  //   $.ajax({
  //     url:'http://rap.taobao.org/mockjsdata/12185/hospital',
  //     type:'GET',
  //     beforeSend:function(){
  //       dispatch({type:types.START_LOADING});
  //     },
  //     success:function(json){
  //       if(json.msg === '操作成功'){
  //         dispatch({type:types.FETCH_MALL_THEM_HOS, getData:json})
  //       }
  //     },
  //     error:function(error){
  //       alert('error____:' + error);
  //     },
  //     complete:function(){
  //       dispatch({type:types.FINISH_LOADING})
  //     }
  //   })
  // }
  return (dispatch) =>{
    _get({url},dispatch)
      .then((json) => {
        if(json.msg === '操作成功'){
          dispatch({type:types.FETCH_MALL_THEM_HOS, getData:json})
        }
        // return Promise.reject(new Error('fetch fail'))
      })
      .catch((error) => {
        // dispatch({type:types.FETCH_COMING_SOON_FAIL})
        return Promise.reject(error)
      })
  }
}
